home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- '''A CallTip window class for Tkinter/IDLE.
-
- After ToolTip.py, which uses ideas gleaned from PySol
- Used by the CallTips IDLE extension.
-
- '''
- from Tkinter import *
-
- class CallTip:
-
- def __init__(self, widget):
- self.widget = widget
- self.tipwindow = None
- self.id = None
- self.x = self.y = 0
-
-
- def showtip(self, text):
- ''' Display text in calltip window'''
- if len(text) >= 79:
- text = text[:75] + ' ...'
-
- self.text = text
- if self.tipwindow or not (self.text):
- return None
-
- self.widget.see('insert')
- (x, y, cx, cy) = self.widget.bbox('insert')
- x = x + self.widget.winfo_rootx() + 2
- y = y + cy + self.widget.winfo_rooty()
- self.tipwindow = tw = Toplevel(self.widget)
- tw.wm_overrideredirect(1)
- tw.wm_geometry('+%d+%d' % (x, y))
-
- try:
- tw.tk.call('::tk::unsupported::MacWindowStyle', 'style', tw._w, 'help', 'noActivates')
- except TclError:
- pass
-
- label = Label(tw, text = self.text, justify = LEFT, background = '#ffffe0', relief = SOLID, borderwidth = 1, font = self.widget['font'])
- label.pack()
-
-
- def hidetip(self):
- tw = self.tipwindow
- self.tipwindow = None
- if tw:
- tw.destroy()
-
-
-
-
- class container:
-
- def __init__(self):
- root = Tk()
- text = self.text = Text(root)
- text.pack(side = LEFT, fill = BOTH, expand = 1)
- text.insert('insert', 'string.split')
- root.update()
- self.calltip = CallTip(text)
- text.event_add('<<calltip-show>>', '(')
- text.event_add('<<calltip-hide>>', ')')
- text.bind('<<calltip-show>>', self.calltip_show)
- text.bind('<<calltip-hide>>', self.calltip_hide)
- text.focus_set()
- root.mainloop()
-
-
- def calltip_show(self, event):
- self.calltip.showtip('Hello world')
-
-
- def calltip_hide(self, event):
- self.calltip.hidetip()
-
-
-
- def main():
- c = container()
-
- if __name__ == '__main__':
- main()
-
-